/**
 * @author wudi
 * @argument 修改节点信息
 * @version 1.0
 * @class RouteManager
 * @extends Ext.Panel
 * @createTime 2012-7-11
 */
Ext.ns('Ext.ClientManager');
Ext.ns('Ext.EntApp');
Ext.ClientManager.ClientManagerWin = Ext
		.extend(
				Ext.Window,
				{
					goodsStore : null,
					clientId : null,
					constructor : function(_config) {
						if (_config == null) {
							_config = {};

						}
						;
						Ext.apply(this, _config);
						this.form = new Ext.FormPanel(
								{
									frame : true,
									width : '100%',
									height : 220,
									frame : true,
									layout : 'column',
									bodyStyle : 'padding-left:5px;padding-top:10px',
									defaults : {
										defaults : {
											xtype : 'textfield',
											anchor : '90%'
										},
										columnWidth : .5,
										layout : 'form',
										style : 'padding:5px'
									},
									items : [
											{
												items : [
														{
															fieldLabel : '用户名称',
															name : 'clientName',
															allowBlank : false,
															maxLength : 100,
															maxLengthText : '字段最长为100位'
														},
														{
															fieldLabel : '用户ID',
															name : 'clientId',
															emptyText : '节点ID',
															allowBlank : false,
															maxLength : 18,
															maxLengthText : '字段最长为18位'
														},
														{
															xtype : 'combo',
															emptyText : '请选择',
															fieldLabel : '节点启用状态',
															name : 'status',
															editable : false,
															triggerAction : 'all',
															mode : 'local',
															store : new Ext.data.SimpleStore(
																	{
																		fields : [
																				'value',
																				'text' ],
																		data : [
																				[
																						'1',
																						'启用' ],
																				[
																						'0',
																						'停用' ] ]
																	}),
															valueField : 'value',
															displayField : 'text'
														},
														{
															fieldLabel : '节点传输地址',
															name : 'transAddr',
															allowBlank : true,
															maxLength : 50,
															maxLengthText : '字段最长为50位'
														},
														{
															fieldLabel : '所属节点ID',
															name : 'nodeId',
															allowBlank : true,
															maxLength : 19,
															maxLengthText : '字段最长为18位'
														},
														{
															fieldLabel : '机构编码',
															name : 'orgId',
															allowBlank : true,
															maxLength : 10,
															maxLengthText : '字段最长为10位'
														} ]
											},
											{
												items : [
														{
															fieldLabel : '联系人',
															name : 'linkMan',
															allowBlank : true,
															maxLength : 20,
															maxLengthText : '字段最长为20位'
														},
														{
															fieldLabel : '联系人电话',
															name : 'linkTel',
															allowBlank : true,
															maxLength : 25,
															maxLengthText : '字段最长为25位'
														},
														{
															fieldLabel : '联系人地址',
															name : 'linkAddr',
															allowBlank : true,
															maxLength : 50,
															maxLengthText : '字段最长为50位'
														},
														{
															xtype : 'combo',
															emptyText : '请选择',
															fieldLabel : '传输方式',
															name : 'transType',
															editable : false,
															triggerAction : 'all',
															mode : 'local',
															store : new Ext.data.SimpleStore(
																	{
																		fields : [
																				'value',
																				'text' ],
																		data : [
																				[
																						'1',
																						'IBM MQ' ],
																				[
																						'2',
																						'FTP' ],
																				[
																						'3',
																						'WebService' ],
																				[
																						'4',
																						'JMS' ] ]
																	}),
															valueField : 'value',
															displayField : 'text'
														},
														{
															fieldLabel : '更新时间',
															name : 'indbTime',
															xtype : 'datefield',
															format : 'Y-m-d',
															width : 130,
															disabled : true,
															readOnly : true
														} ]
											}

									]
								});
						Ext.ClientManager.ClientManagerWin.superclass.constructor
								.call(this, {
									title : '用户信息维护',
									width : 900,
									height : 260,
									layout : 'fit',
									closeAction : 'hide',
									closable : true,
									modal : true,
									items : [ this.form ],
									frame : true,
									buttons : [ {
										text : '清空',
										handler : this.resetForm,
										hidden : this.hideFlag,
										scope : this
									}, {
										text : '保存',
										handler : this.saveGoodsInfo,
										hidden : this.hideFlag,
										scope : this
									} ]
								});
					},

					// 导入GridePanel的某项记录
					loadData : function(clientId) {

						this.form
								.getForm()
								.load(
										{
											url : 'clientManager/getClientInfo',
											method : 'post',
											params : {
												clientId : clientId
											},
											waitMsg : '正在加载数据...',
											success : function(form, action) {
												this.form.find('name',
														'clientId')[0]
														.setRawValue(action.result.data.clientId);
												this.form.find('name',
														'clientName')[0]
														.setRawValue(action.result.data.clientName);
												this.form.find('name', 'orgId')[0]
														.setRawValue(action.result.data.orgId);
												this.form
														.find('name', 'nodeId')[0]
														.setRawValue(action.result.data.nodeId);
												this.form.find('name',
														'transType')[0]
														.setRawValue(action.result.data.transType);
												this.form.find('name',
														'transAddr')[0]
														.setRawValue(action.result.data.transAddr);
												this.form.find('name',
														'linkMan')[0]
														.setRawValue(action.result.data.linkMan);
												this.form.find('name',
														'linkTel')[0]
														.setRawValue(action.result.data.linkTel);
												this.form.find('name',
														'indbTime')[0]
														.setValue(action.result.data.indbTime);
												this.form
														.find('name', 'status')[0]
														.setValue(action.result.data.status);
											},
											failure : function(response,
													optionse) {
												Ext.MessageBox.alert('提示',
														'加载失败！');
											},
											scope : this
										});

					},

					setFlag : function(flag) {
						this.flag = flag
						// alert(flag);
					// this.form.find('name', 'flag')[0]
					// .setRawValue(flag);
					//					
				},

				// 清空
					resetForm : function() {
						this.form.getForm().reset();
					},

					// 保存修改的信息
					saveGoodsInfo : function() {
						var store = this.goodsStore;
						var f = this.flag;
						if (this.form.getForm().isValid()) {
							this.form
									.getForm()
									.submit(
											{
												url : 'clientManager/saveOrUpdateUser',
												method : 'post',
												params : {
													flag : f,
													clientId : this.form.find(
															'name', 'clientId')[0]
															.getValue(),
													clientName : this.form
															.find('name',
																	'clientName')[0]
															.getValue(),
													orgId : this.form.find(
															'name', 'orgId')[0]
															.getValue(),
													nodeId : this.form.find(
															'name', 'nodeId')[0]
															.getValue(),
													transType : this.form
															.find('name',
																	'transType')[0]
															.getValue(),
													transAddr : this.form
															.find('name',
																	'transAddr')[0]
															.getValue(),
													linkMan : this.form.find(
															'name', 'linkMan')[0]
															.getValue(),
													linkTel : this.form.find(
															'name', 'linkTel')[0]
															.getValue(),
													linkAddr : this.form.find(
															'name', 'linkAddr')[0]
															.getValue(),
													status : this.form.find(
															'name', 'status')[0]
															.getValue()
												},
												waitMsg : '正在保存数据...',
												success : function() {
													Ext.MessageBox.alert('提示',
															'保存成功！');
													store.reload();
													this.hide();
												},
												failure : function(response,
														optionse) {
													Ext.MessageBox.alert('提示',
															'保存失败！');
												},
												scope : this
											});
						}
					}
				});